d8a055
@@ -1,5 +1,5 @@
 /*
- * Copyright 2002-2013 the original author or authors.
+ * Copyright 2002-2016 the original author or authors.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@
import java.lang.reflect.Method;
 
 import org.springframework.aop.TargetSource;
 import org.springframework.aop.framework.ProxyFactory;
+import org.springframework.beans.factory.NoSuchBeanDefinitionException;
 import org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver;
 import org.springframework.beans.factory.config.DependencyDescriptor;
 import org.springframework.beans.factory.support.DefaultListableBeanFactory;
@@ -79,7 +80,12 @@
public class ContextAnnotationAutowireCandidateResolver extends QualifierAnnotat
 			}
 			@Override
 			public Object getTarget() {
-				return beanFactory.doResolveDependency(descriptor, beanName, null, null);
+				Object target = beanFactory.doResolveDependency(descriptor, beanName, null, null);
+				if (target == null) {
+					throw new NoSuchBeanDefinitionException(descriptor.getDependencyType(),
+							"Optional dependency not present for lazy injection point");
+				}
+				return target;
 			}
 			@Override
 			public void releaseTarget(Object target) {
